n=int(input())
def output():
global n
s=list(map(int,input().split(' ')))
x,y=max(s),min(s)
s.pop(s.index(x))
s.pop(s.index(y))
try:
if x-min(s)>max(s)-y:
return max(s)-y
else:
return x-min(s)
except:
return 0
print(output())
/*
ID: yassine0
LANG: C++17
PROB: Diamond Collector
*/
#include <bits/stdc++.h>
#define ll long long
using namespace std;
void reverseStr(string& str)
{
int n = str.length();
for (int i = 0; i < n / 2; i++)
swap(str[i], str[n - i - 1]);
}
int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
ll n;cin>>n;
vector<ll>v(n);
for(ll i=0;i<n;i++){
cin>>v[i];
}
sort(v.begin(),v.end());
if(n==2){
cout<<0;
}
else{
cout<<min(v[n-2]-v[0],v[n-1]-v[1]);
}
}
1452A - Robot Program | 344A - Magnets |
96A - Football | 702B - Powers of Two |
1036A - Function Height | 443A - Anton and Letters |
1478B - Nezzar and Lucky Number | 228A - Is your horseshoe on the other hoof |
122A - Lucky Division | 1611C - Polycarp Recovers the Permutation |
432A - Choosing Teams | 758A - Holiday Of Equality |
1650C - Weight of the System of Nested Segments | 1097A - Gennady and a Card Game |
248A - Cupboards | 1641A - Great Sequence |
1537A - Arithmetic Array | 1370A - Maximum GCD |
149A - Business trip | 34A - Reconnaissance 2 |
59A - Word | 462B - Appleman and Card Game |
1560C - Infinity Table | 1605C - Dominant Character |
1399A - Remove Smallest | 208A - Dubstep |
1581A - CQXYM Count Permutations | 337A - Puzzles |
495A - Digital Counter | 796A - Buying A House |